跳至主要内容

資料庫環境配置 & 基本 SQL

資料庫環境配置 & 基本 SQL

2021/3/3 王子軒

開源
入土
拖魚羹

NOTE:今天要來教資料庫和SQL,幹訓有講過一些,有人還記得什麼是sql、什麼是資料庫嗎?


還記得.....

SELECT? 資料庫是啥? SQL可以幹麻?

NOTE:今天要來教資料庫和SQL,幹訓有講過一些,有人還記得什麼是sql、什麼是資料庫嗎?


資料庫(database)

資料庫,簡而言之可視為電子化的檔案櫃——儲存電子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作...blablabla...


像是一個櫃子(database),裡面裝了好多資料夾(表、table)


table??(資料表)

一個資料表,裡面有好多資料


SQL?

S tructured Q uery L anguage

a domain-specific language designed for managing data

阿就拿來讓資料庫處理資料的語言啦ˋˊ

NOTE: 但是資料庫其實有很多種,例如:關係式資料庫,物件導向資料庫等等,SQL基本上是用在關係式資料庫。SQL也是我們課程主要要講的,我們寫的、送給資料庫跑得就叫做query


環境配置

http://sqlitestudio.pl/ https://github.com/QtTutorial/QtBasic/blob/master/Qt%20Sqlite/Taiwan

(教學文章:https://chenglearning.blogspot.com/2013/11/sqlitestudio1sqlite.html)

NOTE:下載這兩個


匯入Database

  1. 按下 "&Add a database(Ctrl+O)"

  1. 按下 "Browsing for existing database file..."

  1. 改成 "All files(*)"

  1. 選剛剛下載的Taiwan,然後按 "OK"

  1. 按下 "Open SQL &editor(Alt+E)"

query time!


查詢

https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

SELECT <column1, column2,...> [FROM <table>][WHERE <condition>]

NOTE:把資料庫的資料查詢(選)出來。這邊有個用法,如果你想選所有欄位,可以用萬用字元*


row, column, cell補充


查詢條件WHERE

1. WHERE ID > 5
2. WHERE username = "Bob" OR username = "Alice"
3. WHERE uesrname != "Tom"

SELECT * FROM customer WHERE uesrname != "Tom"

NOTE:後面的condition就是對欄位的判斷,很像其他程式語言對變數的判斷,基本的有大於、小於、等於、不等於、AND、OR。


語法很怪很難記?

資料庫的概念比較像是"集合",所以如果用圖像的方式來想,語法上就會比較好記憶。

NOTE:例如select就是從中間選出、WHERE像是上面得某個範圍、地點


練習

https://www.hackerrank.com/domains/sql?filters%5Bsubdomains%5D%5B%5D=select


修改

UPDATE <table>
SET <column>=<value>[, column2=value2, column3=value3...]
[WHERE <condition>]

欄位型態概念

NOTE: 資料庫儲存的時候,每個欄位都有對應的型態,像是C++、C、Java那樣,在處理資料庫的時候,例如:新增、修該和查詢條件,欄位要遇到值的時候都要注意欄位型態。


數值


浮點數


字串


時間&日期


練習

NOTE:因為更新沒有題目可以練習,接下來就在剛剛安裝的環境下測試。


  1. 把台南City_Code改成1337
  2. 把City_Code<100的City_cname改成天龍國